# 这里导入了tkinter库，并将其别名为tk，以便在后续代码中更方便地使用。
# tkinter是 Python 的标准 GUI 库，用于创建桌面应用程序。
import tkinter as tk
# tk.Tk()创建了一个主窗口对象，并将其赋值给top变量。
# 这个主窗口是整个 GUI 应用程序的容器，其他所有的 GUI 元素都将放置在这个窗口内。
# top.title("课程展示")设置了主窗口的标题为 “课程展示”，这将显示在窗口的标题栏上。
# top.geometry("600x300")设置了主窗口的初始大小为宽度 600 像素，高度 300 像素。
top = tk.Tk()
top.title("课程展示")
top.geometry("600x300")
# 单位
# tk.Label(top, text="单位:")创建了一个标签对象，显示文本 “单位:”，并将其放置在主窗口top上。
# unit_label.pack()使用pack几何管理器将标签按照默认的布局方式放置在窗口中。
# tk.Entry(top)创建了一个输入框对象，用于用户输入单位信息，并将其放置在主窗口上。
# 同样，unit_entry.pack()将输入框放置在窗口中。
unit_label = tk.Label(top, text="单位:")
unit_label.pack()
unit_entry = tk.Entry(top)
unit_entry.pack()
#  姓名、职务、联系方式和联系地址的创建和放置方式与单位信息类似，
#  都是先创建标签，然后创建对应的输入框，并使用pack方法将它们依次放置在窗口中。
# 姓名
name_label = tk.Label(top, text="姓名:")
name_label.pack()
name_entry = tk.Entry(top)
name_entry.pack()

# 职务
job_label = tk.Label(top, text="职务:")
job_label.pack()
job_entry = tk.Entry(top)
job_entry.pack()

# 联系方式
contact_label = tk.Label(top, text="联系方式:")
contact_label.pack()
contact_entry = tk.Entry(top)
contact_entry.pack()

# 联系地址
address_label = tk.Label(top, text="联系地址:")
address_label.pack()
address_entry = tk.Entry(top)
address_entry.pack()

# 这个函数在用户点击 “打印信息” 按钮时被调用。
# 它通过unit_entry.get()、name_entry.get()等方法获取用户在各个输入框中输入的信息，
# 并分别赋值给相应的变量。
# 最后，使用print函数将这些信息按照指定的格式打印到控制台。
def print_info():
    unit = unit_entry.get()
    name = name_entry.get()
    job = job_entry.get()
    contact = contact_entry.get()
    address = address_entry.get()
    print(f"单位: {unit}\n姓名: {name}\n职务: {job}\n联系方式: "
          f"{contact}\n联系地址: {address}")


# 打印信息按钮：tk.Button(top, text="打印信息", command=print_info)创建了一个按钮对象，
# 显示文本 “打印信息”，并将其点击事件绑定到print_info函数上。
# print_button.pack()将按钮放置在主窗口中。
print_button = tk.Button(top, text="打印信息", command=print_info)
print_button.pack()

top.mainloop()